#include "stl.h"
#include "solution.h"

int main(int argc, char *argv[]){
    LRUCache lRUCache(2);
    lRUCache.put(1, 1); // 缓存是 {1=1}
    lRUCache.put(2, 2); // 缓存是 {1=1, 2=2}
    print(lRUCache.get(1), "\n")   // 返回 1
    lRUCache.put(3, 3); // 该操作会使得关键字 2 作废，缓存是 {1=1, 3=3}
    print(lRUCache.get(2), "\n")    // 返回 -1 (未找到)
    lRUCache.put(4, 4); // 该操作会使得关键字 1 作废，缓存是 {4=4, 3=3}
    print(lRUCache.get(1), "\n")    // 返回 -1 (未找到)
    print(lRUCache.get(3), "\n")    // 返回 3
    print(lRUCache.get(4), "\n")    // 返回 4

    LRUCache lru2(1);
    lru2.put(2,1);
    print(lru2.get(2), "\n")

    
    print("\n------ main exit ------\n")
    return 0;
}
